package com.creative.xcx.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.creative.core.page.PageDomain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * @author ling
 * @description 素材信息
 * @date 2025-02-26
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@ExcelIgnoreUnannotated
public class Material extends PageDomain implements Serializable {
    /**
     * 素材编号
     */
    @JsonProperty("materialId")
    @ExcelProperty("素材编号")
    private String materialId;

    /**
     * 素材存储地址
     */
    @ExcelProperty("素材存储地址")
    private String materialUrl;

    /**
     * 素材标题
     */
    @ExcelProperty("素材标题")
    private String materialTitle;

    /**
     * 素材类型
     */
    @ExcelProperty("素材类型")
    private String materialType;

    /**
     * 缩略图路径
     */
    @ExcelProperty("缩略图路径")
    private String thumbnailUrl;

    /**
     * 素材格式类型
     */
    @ExcelProperty("素材格式类型")
    private String materialFormatType;

    /**
     * 素材内容摘要
     */
    @ExcelProperty("素材内容摘要")
    private String materialSummary;

    /**
     * 标签
     */
    @ExcelProperty("标签")
    private String materialTags;

    /**
     * 审核状态
     */
    @ExcelProperty("审核状态")
    private Integer auditStatus;

    /**
     * 文件大小
     */
    @ExcelProperty("文件大小")
    private Double fileSize;

    /**
     * 删除标记
     */
    @ExcelProperty("删除标记")
    private Integer delFlag;

    /**
     * 展示状态
     */
    @ExcelProperty("展示状态")
    private Integer showState;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("发布时间")
    private Date publishTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("更新时间")
    private Date updateTime;

    /**
     * 创建人
     */
    @ExcelProperty("创建人")
    private String createBy;

    /**
     * 浏览数
     */
    @ExcelProperty("收藏数")
    private Integer collectionCount;

    /**
     * 更新人
     */
    @ExcelProperty("更新人")
    private String updateBy;

    /**
     * 备注信息
     */
    @ExcelProperty("备注信息")
    private String remark;

}